<?php

/**
 * 项目所在目录
 */
define('SC_APP_PATH', str_replace('\\', '/', dirname($_SERVER['SCRIPT_FILENAME'])));

/**
 * 框架系统所在目录
 */
defined('SC_SYS_PATH') || define('SC_SYS_PATH', dirname(__FILE__));

/**
 * 框架日志文件所在目录
 */
define('SC_SYS_LOG_PATH', SC_SYS_PATH.'/log');

/**
 * 框架核心类所在目录
 */
define('SC_SYS_CORE_PATH', SC_SYS_PATH.'/core');


/**
 * 项目配置文件所在目录
 */
define('SC_CONFIG_PATH', SC_APP_PATH.'/config');

/**
 * 项目控制器类所在目录
 */
define('SC_CONTROLLER_PATH', SC_APP_PATH.'/controller');

/**
 * 项目模型类所在目录
 */
define('SC_MODEL_PATH', SC_APP_PATH.'/model');

/**
 * 第三方类库目录
 */
define('SC_VENDOR_PATH', SC_APP_PATH.'/vendor');

/**
 * 项目视图所在目录
 */
define('SC_VIEW_PATH', SC_APP_PATH.'/view');

/**
 * 入口文件名
 */
defined('SC_ENTRY_FILE') || define('SC_ENTRY_FILE', 'index.php?');

/**
 * 加载自动加载类
 */
require SC_SYS_CORE_PATH.'/SCAutoloader.class.php';

/**
 * 注册类自动加载机制
 */
spl_autoload_register(array('SCAutoloader', 'loadClass'));

/**
 * 错误异常捕捉处理
 * 屏蔽所有页面报错信息，信息被透明捕获到异常处理类进行友好处理
 */
error_reporting(0);
set_error_handler(array(new SCException, 'errorHandler'));
set_exception_handler(array(new SCException, 'exceptionHandler'));
register_shutdown_function(array('SCFatal', 'handler'));

/**
 * 定义项目WEB根目录
 */
defined('__WEB__') || define('__WEB__', SCRequest::getBaseURI());

SCScabish::run();